/* https://github.com/orange1438 */
package com.gxa.p2p.pojo;

import java.io.Serializable;
import java.util.Date;

/** 
 * 描述投标的实体类// 与他相关的类以废弃
 */
public class Loan implements Serializable {
    private static final long serialVersionUID = -5507764758205436128L;

    private Integer id;

    /** 
     * 还款方式
     */ 
    private String returnType;

    /** 
     * 借款类型，就是：信用借款
     */ 
    private String bidRequestType;

    /** 
     * 标，的状态
     */ 
    private Integer bidRequestState;

    /** 
     * 借款金额
     */ 
    private Double bidRequestAmount;

    /** 
     * 借款利率
     */ 
    private Double currentRate;

    /** 
     * 最小投标金额，默认是50  默认：50
     */ 
    private Integer minBidAmount;

    /** 
     * 借款期限。一般是1到18个月
     */ 
    private Integer monthesToReturn;

    /** 
     * 这个借款现在已经有多少次投标
     */ 
    private Integer bidCount;

    /** 
     * 总回报金额（在我们的项目中，总回报金额就是这个标总利息的金额，其实在实际的项目中，标的可能还有额外的投标奖金）
     */ 
    private Double totalRewardAmount;

    /** 
     * 当前已经投了多少钱了
     */ 
    private Integer currentSum;

    /** 
     * 借款标题
     */ 
    private String title;

    /** 
     * 借款描述
     */ 
    private String description;

    /** 
     * 风控评审意见，这个意见是需要在标的里面展示给用户看的，这个意见也是发标前审核的审核意见；
     */ 
    private String note;

    /** 
     */ 
    private Date disableDate;

    /** 
     * 招标天数，这个就是前台填写的招标天数；
     */ 
    private Integer disableDays;

    /** 
     * 借款人
     */ 
    private String createUser;

    /** 
     * 申请时间
     */ 
    private Date applyTime;

    /** 
     * 发布时间，这个时间在我们项目中就是发标前审核的时间，在实际项目中，可能有些标是可以设定一个时间，定时发标的；
     */ 
    private Date publishTime;

    /** 
     * 构造查询条件
     */
    private UserInfo userInfo;//个人信息
    private  LoginLog loginLog;//登录信息
    private  UserLockStatus userLockStatus;//用户状态
    private  RechargeRecord rechargeRecord;//交易记录

    public Loan(Integer id, String returnType, String bidRequestType, Integer bidRequestState, Double bidRequestAmount, Double currentRate, Integer minBidAmount, Integer monthesToReturn, Integer bidCount, Double totalRewardAmount, Integer currentSum, String title, String description, String note, Date disableDate, Integer disableDays, String createUser, Date applyTime, Date publishTime, UserInfo userInfo, LoginLog loginLog, UserLockStatus userLockStatus, RechargeRecord rechargeRecord) {
        this.id = id;
        this.returnType = returnType;
        this.bidRequestType = bidRequestType;
        this.bidRequestState = bidRequestState;
        this.bidRequestAmount = bidRequestAmount;
        this.currentRate = currentRate;
        this.minBidAmount = minBidAmount;
        this.monthesToReturn = monthesToReturn;
        this.bidCount = bidCount;
        this.totalRewardAmount = totalRewardAmount;
        this.currentSum = currentSum;
        this.title = title;
        this.description = description;
        this.note = note;
        this.disableDate = disableDate;
        this.disableDays = disableDays;
        this.createUser = createUser;
        this.applyTime = applyTime;
        this.publishTime = publishTime;
        this.userInfo = userInfo;
        this.loginLog = loginLog;
        this.userLockStatus = userLockStatus;
        this.rechargeRecord = rechargeRecord;
    }

    public static long getSerialVersionUID() {
        return serialVersionUID;
    }

    public UserInfo getUserInfo() {
        return userInfo;
    }

    public void setUserInfo(UserInfo userInfo) {
        this.userInfo = userInfo;
    }

    public LoginLog getLoginLog() {
        return loginLog;
    }

    public void setLoginLog(LoginLog loginLog) {
        this.loginLog = loginLog;
    }

    public UserLockStatus getUserLockStatus() {
        return userLockStatus;
    }

    public void setUserLockStatus(UserLockStatus userLockStatus) {
        this.userLockStatus = userLockStatus;
    }

    public RechargeRecord getRechargeRecord() {
        return rechargeRecord;
    }

    public void setRechargeRecord(RechargeRecord rechargeRecord) {
        this.rechargeRecord = rechargeRecord;
    }

    /**
     * 构造查询条件
     */
    public Loan() {
        super();
    }

    /** 
     * 获取 loan.id
     * @return loan.id
     */
    public Integer getId() {
        return id;
    }

    /** 
     * 设置 loan.id
     * @param id loan.id
     */
    public void setId(Integer id) {
        this.id = id;
    }

    /** 
     * 获取 还款方式 loan.return_type
     * @return 还款方式
     */
    public String getReturnType() {
        return returnType;
    }

    /** 
     * 设置 还款方式 loan.return_type
     * @param returnType 还款方式
     */
    public void setReturnType(String returnType) {
        this.returnType = returnType == null ? null : returnType.trim();
    }

    /** 
     * 获取 借款类型，就是：信用借款 loan.bid_request_type
     * @return 借款类型，就是：信用借款
     */
    public String getBidRequestType() {
        return bidRequestType;
    }

    /** 
     * 设置 借款类型，就是：信用借款 loan.bid_request_type
     * @param bidRequestType 借款类型，就是：信用借款
     */
    public void setBidRequestType(String bidRequestType) {
        this.bidRequestType = bidRequestType == null ? null : bidRequestType.trim();
    }

    /** 
     * 获取 标，的状态 loan.bid_request_state
     * @return 标，的状态
     */
    public Integer getBidRequestState() {
        return bidRequestState;
    }

    /** 
     * 设置 标，的状态 loan.bid_request_state
     * @param bidRequestState 标，的状态
     */
    public void setBidRequestState(Integer bidRequestState) {
        this.bidRequestState = bidRequestState;
    }

    /** 
     * 获取 借款金额 loan.bid_request_amount
     * @return 借款金额
     */
    public Double getBidRequestAmount() {
        return bidRequestAmount;
    }

    /** 
     * 设置 借款金额 loan.bid_request_amount
     * @param bidRequestAmount 借款金额
     */
    public void setBidRequestAmount(Double bidRequestAmount) {
        this.bidRequestAmount = bidRequestAmount;
    }

    /** 
     * 获取 借款利率 loan.current_rate
     * @return 借款利率
     */
    public Double getCurrentRate() {
        return currentRate;
    }

    /** 
     * 设置 借款利率 loan.current_rate
     * @param currentRate 借款利率
     */
    public void setCurrentRate(Double currentRate) {
        this.currentRate = currentRate;
    }

    /** 
     * 获取 最小投标金额，默认是50 loan.min_bid_amount
     * @return 最小投标金额，默认是50
     */
    public Integer getMinBidAmount() {
        return minBidAmount;
    }

    /** 
     * 设置 最小投标金额，默认是50 loan.min_bid_amount
     * @param minBidAmount 最小投标金额，默认是50
     */
    public void setMinBidAmount(Integer minBidAmount) {
        this.minBidAmount = minBidAmount;
    }

    /** 
     * 获取 借款期限。一般是1到18个月 loan.monthes_to_return
     * @return 借款期限。一般是1到18个月
     */
    public Integer getMonthesToReturn() {
        return monthesToReturn;
    }

    /** 
     * 设置 借款期限。一般是1到18个月 loan.monthes_to_return
     * @param monthesToReturn 借款期限。一般是1到18个月
     */
    public void setMonthesToReturn(Integer monthesToReturn) {
        this.monthesToReturn = monthesToReturn;
    }

    /** 
     * 获取 这个借款现在已经有多少次投标 loan.bid_count
     * @return 这个借款现在已经有多少次投标
     */
    public Integer getBidCount() {
        return bidCount;
    }

    /** 
     * 设置 这个借款现在已经有多少次投标 loan.bid_count
     * @param bidCount 这个借款现在已经有多少次投标
     */
    public void setBidCount(Integer bidCount) {
        this.bidCount = bidCount;
    }

    /** 
     * 获取 总回报金额（在我们的项目中，总回报金额就是这个标总利息的金额，其实在实际的项目中，标的可能还有额外的投标奖金） loan.total_reward_amount
     * @return 总回报金额（在我们的项目中，总回报金额就是这个标总利息的金额，其实在实际的项目中，标的可能还有额外的投标奖金）
     */
    public Double getTotalRewardAmount() {
        return totalRewardAmount;
    }

    /** 
     * 设置 总回报金额（在我们的项目中，总回报金额就是这个标总利息的金额，其实在实际的项目中，标的可能还有额外的投标奖金） loan.total_reward_amount
     * @param totalRewardAmount 总回报金额（在我们的项目中，总回报金额就是这个标总利息的金额，其实在实际的项目中，标的可能还有额外的投标奖金）
     */
    public void setTotalRewardAmount(Double totalRewardAmount) {
        this.totalRewardAmount = totalRewardAmount;
    }

    /** 
     * 获取 当前已经投了多少钱了 loan.current_sum
     * @return 当前已经投了多少钱了
     */
    public Integer getCurrentSum() {
        return currentSum;
    }

    /** 
     * 设置 当前已经投了多少钱了 loan.current_sum
     * @param currentSum 当前已经投了多少钱了
     */
    public void setCurrentSum(Integer currentSum) {
        this.currentSum = currentSum;
    }

    /** 
     * 获取 借款标题 loan.title
     * @return 借款标题
     */
    public String getTitle() {
        return title;
    }

    /** 
     * 设置 借款标题 loan.title
     * @param title 借款标题
     */
    public void setTitle(String title) {
        this.title = title == null ? null : title.trim();
    }

    /** 
     * 获取 借款描述 loan.description
     * @return 借款描述
     */
    public String getDescription() {
        return description;
    }

    /** 
     * 设置 借款描述 loan.description
     * @param description 借款描述
     */
    public void setDescription(String description) {
        this.description = description == null ? null : description.trim();
    }

    /** 
     * 获取 风控评审意见，这个意见是需要在标的里面展示给用户看的，这个意见也是发标前审核的审核意见； loan.note
     * @return 风控评审意见，这个意见是需要在标的里面展示给用户看的，这个意见也是发标前审核的审核意见；
     */
    public String getNote() {
        return note;
    }

    /** 
     * 设置 风控评审意见，这个意见是需要在标的里面展示给用户看的，这个意见也是发标前审核的审核意见； loan.note
     * @param note 风控评审意见，这个意见是需要在标的里面展示给用户看的，这个意见也是发标前审核的审核意见；
     */
    public void setNote(String note) {
        this.note = note == null ? null : note.trim();
    }

    /** 
     * 获取 loan.disable_date
     * @return loan.disable_date
     */
    public Date getDisableDate() {
        return disableDate;
    }

    /** 
     * 设置 loan.disable_date
     * @param disableDate loan.disable_date
     */
    public void setDisableDate(Date disableDate) {
        this.disableDate = disableDate;
    }

    /** 
     * 获取 招标天数，这个就是前台填写的招标天数； loan.disable_days
     * @return 招标天数，这个就是前台填写的招标天数；
     */
    public Integer getDisableDays() {
        return disableDays;
    }

    /** 
     * 设置 招标天数，这个就是前台填写的招标天数； loan.disable_days
     * @param disableDays 招标天数，这个就是前台填写的招标天数；
     */
    public void setDisableDays(Integer disableDays) {
        this.disableDays = disableDays;
    }

    /** 
     * 获取 借款人 loan.create_user
     * @return 借款人
     */
    public String getCreateUser() {
        return createUser;
    }

    /** 
     * 设置 借款人 loan.create_user
     * @param createUser 借款人
     */
    public void setCreateUser(String createUser) {
        this.createUser = createUser == null ? null : createUser.trim();
    }

    /** 
     * 获取 这个标的的投标记录； loan.bids
     * @return 这个标的的投标记录；
     */

    /** 
     * 设置 这个标的的投标记录； loan.bids
     * @param bids 这个标的的投标记录；
     */


    /** 
     * 获取 申请时间 loan.apply_time
     * @return 申请时间
     */
    public Date getApplyTime() {
        return applyTime;
    }

    /** 
     * 设置 申请时间 loan.apply_time
     * @param applyTime 申请时间
     */
    public void setApplyTime(Date applyTime) {
        this.applyTime = applyTime;
    }

    /** 
     * 获取 发布时间，这个时间在我们项目中就是发标前审核的时间，在实际项目中，可能有些标是可以设定一个时间，定时发标的； loan.publish_time
     * @return 发布时间，这个时间在我们项目中就是发标前审核的时间，在实际项目中，可能有些标是可以设定一个时间，定时发标的；
     */
    public Date getPublishTime() {
        return publishTime;
    }

    /** 
     * 设置 发布时间，这个时间在我们项目中就是发标前审核的时间，在实际项目中，可能有些标是可以设定一个时间，定时发标的； loan.publish_time
     * @param publishTime 发布时间，这个时间在我们项目中就是发标前审核的时间，在实际项目中，可能有些标是可以设定一个时间，定时发标的；
     */
    public void setPublishTime(Date publishTime) {
        this.publishTime = publishTime;
    }

    @Override
    public String toString() {
        return "Loan{" +
                "id=" + id +
                ", returnType='" + returnType + '\'' +
                ", bidRequestType='" + bidRequestType + '\'' +
                ", bidRequestState=" + bidRequestState +
                ", bidRequestAmount=" + bidRequestAmount +
                ", currentRate=" + currentRate +
                ", minBidAmount=" + minBidAmount +
                ", monthesToReturn=" + monthesToReturn +
                ", bidCount=" + bidCount +
                ", totalRewardAmount=" + totalRewardAmount +
                ", currentSum=" + currentSum +
                ", title='" + title + '\'' +
                ", description='" + description + '\'' +
                ", note='" + note + '\'' +
                ", disableDate=" + disableDate +
                ", disableDays=" + disableDays +
                ", createUser='" + createUser + '\'' +
                ", applyTime=" + applyTime +
                ", publishTime=" + publishTime +
                ", userInfo=" + userInfo +
                ", loginLog=" + loginLog +
                ", userLockStatus=" + userLockStatus +
                ", rechargeRecord=" + rechargeRecord +
                '}';
    }
}